Adaptive Cyclic Scheduling of Nested Loops
نویسندگان
چکیده
The parallelization of computational intensive programs can lead to dramatic performance improvements. Usually these programs contain repetitive iterations, the majority in the form of nested DO(FOR) loops. The iterations within a loop nest fall into two types: independent iterations and precedence constrained iterations. Furthermore, the precedence constraints can be uniform (constant) or nonuniform throughout the execution of the program. The index space of a uniform dependence loop, due to the existence of dependence vectors, This work was partially supported by the PROTAGORAS project of NTUA. is partitioned into subspaces of points that can be executed at a certain time instance. The geometric representations of these sets form polygonal shapes called wavefronts or hyperplanes, with special attributes and characteristics. In this paper we tackle the uniform precedence constraints case, and we present a novel scheduling technique for perfectly nested loops. Our technique is suitable for the two most common network architectures: homogeneous and heterogeneous systems, regardless of their underlying interconnection network. The presented method exploits the geometric properties of the index space in order to arrive at an efficient geometric decomposition. This approach significantly reduces the communication cost, which in most cases is the main drawback of the parallel performance.
منابع مشابه
Scheduling User-Level Threads on Distributed Shared-Memory Multiprocessors
In this paper we present Dynamic Bisectioning or DBS, a simple but powerful comprehensive scheduling policy for user-level threads, which unifies the exploitation of (multidimensional) loop and nested functional (or task) parallelism. Unlike other schemes that have been proposed and used thus far, DBS is not constrained to scheduling DAGs or singly nested parallel loops. Rather, our policy enco...
متن کاملAn Investigation of Feedback Guided Dynamic Scheduling of Nested Loops
In previous papers ([2], [3], [7]) feedback guided loop scheduling algorithms have been shown to be very effective for certain loop scheduling problems. In particular they perform well for problems that involve a sequential outer loop and a parallel inner loop, and timing information gathered during one execution of the parallel inner loop can be used to inform the scheduling of the subsequent ...
متن کاملFeedback Guided Dynamic Scheduling of Nested Loops
In previous papers ([2], [3], [6]) feedback guided loop scheduling algorithms have been shown to be very effective for certain loop scheduling problems. In particular they perform well for problems that involve a sequential outer loop and a parallel inner loop, and timing information gathered during one execution of the parallel inner loop can be used to inform the scheduling of the subsequent ...
متن کاملTiling and Scheduling of Three-level Perfectly Nested Loops with Dependencies on Heterogeneous Systems
Nested loops are one of the most time-consuming parts and the largest sources of parallelism in many scientific applications. In this paper, we address the problem of 3-dimensional tiling and scheduling of three-level perfectly nested loops with dependencies on heterogeneous systems. To exploit the parallelism, we tile and schedule nested loops with dependencies by awareness of computational po...
متن کاملOptimal Software Pipelining of Nested Loops
This paper presents an approach to software pipelining of nested loops. While several papers have addressed software pipelining of single (non-nested) loops, little work has been done in the area of applying it to nested loops. This paper solves the problem of nding the minimum iteration initiation interval (in the absence of resource constraints) for each level of a nested loop. The problem is...
متن کامل